package com.ftf.tp.blog.application.service.command;


import com.ftf.tp.blog.application.dto.command.PublishArticleCommand;
import com.ftf.tp.blog.application.dto.message.SupportMessage;

import javax.servlet.http.HttpServletRequest;

/**
 * 文章应用服务类
 *
 * @author tanghao
 * @date 2022/6/24
 */
public interface ArticleCommandService {

    /**
     * 发布文章
     *
     * @param publishArticleCommand 文章发布命令
     */
    void publishArticle(PublishArticleCommand publishArticleCommand);

    /**
     * 浏览blog
     *
     * @param userId             用户id 游客为空
     * @param articleId             文章id
     * @param httpServletRequest 请求
     */
    void browseArticle(Long userId, Long articleId, HttpServletRequest httpServletRequest);

    /**
     * 文章点赞
     *
     * @param supportDTO 参数
     */
    void articleSupport(SupportMessage supportDTO);

    void climbBlog(String userName, Long userId, String authorName, Long bigTag);

    void createIndex() throws Exception;

    void get();
}
